package cn.formaggie.service.impl;

import cn.formaggie.dao.StoreInDao;
import cn.formaggie.entity.model.store.StoreIn;
import cn.formaggie.service.face.StoreInService;
import cn.formaggie.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Service("storeInService")
public class StoreInServiceImpl implements StoreInService {

    @Autowired
    private StoreInDao storeInDao;

    @Override
    public List<StoreIn> findStoreIns(Map<String, Object> map) {
        return storeInDao.findStoreIns(map);
    }

    @Override
    public Integer getStoreInsCount(Map<String, Object> map) {
        return storeInDao.getStoreInsCount(map);
    }

    @Override
    public Boolean addStoreIn(StoreIn storeIn) {
        double un_pay=storeIn.getS_pay()-storeIn.getHad_pay();
        if(un_pay<0){
            return false;
        }
        storeIn.setUn_pay(un_pay);
        storeIn.setCode("JF"+ DateUtil.getCurrentDateStr());
        storeIn.setDate(new Date());
        return storeInDao.addStoreIn(storeIn)>0?true:false;
    }

    @Override
    public Boolean modifyStoreInInfo(StoreIn storeIn) {
        double un_pay=storeIn.getS_pay()-storeIn.getHad_pay();
        if(un_pay<0){
            return false;
        }
        storeIn.setUn_pay(un_pay);
        return storeInDao.modifyStoreInInfo(storeIn)>0?true:false;
    }

    @Override
    public Boolean deleteStoreIn(Integer id) {
        return storeInDao.deleteStoreIn(id)>0?true:false;
    }
}
